package br.com.cast.Prova_Wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.spring.injection.annot.SpringBean;

import br.com.cast.conexao.SelecaoDAO;
import br.com.cast.modelo.Selecao;
import br.com.cast.provedor.ProvedordeDadosSelecao;


public class ListarSelecao extends WebPage {
	
	@SpringBean
	private SelecaoDAO selecaoDAO;
	
	public ListarSelecao(){
		
		final CadastrarSelecao cadastro = new CadastrarSelecao();
		
		IDataProvider<Selecao> provedor  = new ProvedordeDadosSelecao(selecaoDAO);
		
		DataView<Selecao> dataView = new DataView<Selecao>("selecoes",provedor) {

			@Override
			protected void populateItem(Item<Selecao> item) {
				final Selecao s = item.getModelObject();
				item.add(new Label("nome", s.getNome()));
				item.add(new Label("grupo",s.getNomeGrupo()));
				item.add(new Label("quantidade_titulo",s.getQuantidade_titulo()));
				item.add(new Link("alterar"){

					@Override
					public void onClick() {
						cadastro.atualizaModelo(s);
						setResponsePage(cadastro);
					}
				});
				item.add(new Link("excluir"){

					@Override
					public void onClick() {
						cadastro.atualizaModelo(s);
						selecaoDAO.excluir(s.getId());
					}
					
				});
			}
			
			
		};
		
		add(new Link("inserir"){

			@Override
			public void onClick() {
				cadastro.atualizaModelo(new Selecao());
				setResponsePage(cadastro);
			}
			
		});
		
		dataView.setItemsPerPage(4);
		add(new PagingNavigator("pagingNavigator", 	dataView));
		add(dataView);
		
	}

}
